<?php
	class ObjectToArray extends MyDebuger implements MyData {
		/* version de la clase */
		private static $version			= 0;
		/* subversion de la clase */
		private static $subversion		= 1;
		/* numero de revision de la clase */
		private static $revision		= 1;

		public static final function getVersion() {
			/* retornamos la version actual de la clase */
			return 'v' . self::$version . '.' . self::$subversion . '.' . self::$revision;
		}

		public final function __construct($debug = False) {
			/* creamos el padre */
			parent::__construct($debug, __CLASS__, 087);
			/* habilitamos el registro en un fichero */
			$this->enableLog(__CLASS__ . '.log');
		}

		/* convertimos un objeto a array */
		public static function toArray($object) {
			/* creamos una instancia */
			$array = new ObjectToArray;
			/* verificamos si es un array u objeto */
			if (is_array($object) || is_object($object)) {
				/* recorremos el objeto / array */
				foreach ($object AS $key => $value)
					/* guardamos en el array la clave y convertimos el valor */
					$array->array[$key] = ObjectToArray::toArray($value);
				/* retornamos el array */
				return $array->array;
			}
			/* si no es array ni object retornamos el valor */
			return $object;
		}

		/* convertimos un array en objeto */
		public static function toObject($array) {
			/* creamos una instancia */
			$object = new ObjectToArray;
			/* retornamos el array convertido en objeto */
			return (object) $array;
		}
	}
?>